package com.wp.design.behaiver;

public abstract class ACourse {
	protected final void makeCourse(){
		this.makePPT();
		this.makeVideo();
		if (this.needWriteArticle()){
			this.makeArticle();
		}
		this.pakageCourse();
	}
	final void makePPT(){
		System.out.println("制作PPT");
	}
	final void makeVideo(){
		System.out.println("制作视频");
	}
	final void makeArticle(){
		System.out.println("制作手记");
	}
	// 钩子方法
	protected boolean needWriteArticle(){
		return false;
	}
	abstract void pakageCourse();
}
